def findroot(x):
    if x==p[x]:
        return x
    # 路径压缩，路径长度 自己+父亲的长度
    t = p[x]
    p[x] = findroot(p[x])
    dis[x] += dis[t]
    return p[x]

n,m,q=map(int,input().split())
p=list(range(n+1))
# 路径
dis=[0]*(n+1)
for _ in range(m):
    # c为 x到y的前缀和
    x,y,c=map(int,input().split())
    rootx=findroot(x-1)
    rooty=findroot(y)
    p[rootx]=rooty
    dis[rootx]=dis[y]-dis[x-1]-c


for _ in range(q):
    x,y=map(int,input().split())
    rootx=findroot(x-1)
    rooty=findroot(y)
    if rootx==rooty:
        # 在同一个集合
        print(dis[y]-dis[x-1])
    else:
        print("UNKNOWN")